package com.sc.mapper.mapperauto;

import java.util.List;

import com.sc.pojo.Employee;

public interface EmployeeMapper {
    int deleteByPrimaryKey(Integer eid);

    int insert(Employee record);

    int insertSelective(Employee record);

    Employee selectByPrimaryKey(Integer eid);

    int updateByPrimaryKeySelective(Employee record);

    int updateByPrimaryKey(Employee record);

    // 根据输入的用户名和密码查询员工的信息,查询之后可以获得员工的状态如果是没有离职就需要提示修改密码
    List<Employee> selectBynameAndPassWord(Employee employee);

    // 查询所有员工的信息
    List<Employee> selectAllEmployeeInfo();

    // 当员工第一次登陆进来时通过id修改员工的密码
    int updateEmployeePassWord(Employee employee);

    // 根据员工的id修改员工的电话,当解绑成功新手机号验证成功才进行修改数据
    int EmployeePhoneById(Employee employee);

    /**
     * 查询所有的员工信息
     */
    List<Employee> selectEmployees();

    // 修改员工的密码
    int EmployeeEPassWordById(Employee employee);

    // 根据员工id修改员工可改信息
    int UpdateEmpInfoById(Employee employee);

    // 注销员工信息,当员工离职时将员工的状态改为0，在职时为1
    int updateEmployeeInfoById(int id);

    // 查询当天卖出的面积
    List<Employee> selectGetHarea();

    /**
     * 查询当天所有员工销售额，销售房屋套数，销售面积
     */
    List<Employee> queryGetMoneyAndCountAndAreaByDay();

    /**
     * 查询当周所有员工销售额，销售房屋套数，销售面积
     */
    List<Employee> queryGetMoneyAndCountAndAreaByWeek();

    /**
     * 查询当月所有员工销售额，销售房屋套数，销售面积
     */
    List<Employee> queryGetMoneyAndCountAndAreaByMonth();

    /**
     * 查询当年所有员工销售额，销售房屋套数，销售面积
     */
    List<Employee> queryGetMoneyAndCountAndAreaByYear();

    /**
     * 查询每个员工当天签单量,报备量预约完成量
     */
    List<Employee> selectWorkloadByDay();

    /**
     * 查询每个员工当周签单量,报备量预约完成量
     */
    List<Employee> selectWorkloadByWeek();

    /**
     * 查询每个员工当月签单量,报备量预约完成量
     */
    List<Employee> selectWorkloadByMonth();

    /**
     * 查询每个员工上月签单量,报备量预约完成量
     */
    List<Employee> selectWorkloadByUpMonth();

    /**
     * 查询每个员工本季度签单量,报备量预约完成量
     */
    List<Employee> selectWorkloadByQuarter();

    /**
     * 查询每个员工上季度签单量,报备量预约完成量
     */
    List<Employee> selectWorkloadByUpQuarter();

    /**
     * 查询每个员工当年签单量,报备量预约完成量
     */
    List<Employee> selectWorkloadByYear();

}
